%dada una entrada, calcula la intensidad y voltaje

%calculo la activacion para cada uno de los subconjuntos
activations = zeros(ntrapA,1);
for j=1:ntrapA
	%reconstruimos trapecio
   a = A(j,1);
   b = A(j,2);
   c = A(j,3);
   d = A(j,4);
	%recordando que x=Ti-Tr
   if(x>=a&&x<b)
       activations(j) = (x-a)/(b-a);
   else
       if(x>=b&&x<=c)
           activations(j) = h; %esta normalizado -> h=1.
       else
           if(x>c&&x<=d)
               activations(j) =  (x-d)/(c-d);
           else
               activations(j) = 0;
           end
       end
   end
end
    
iFAM = 0;
vFAM = 0;
%suma ponderada de cada uno de los subconjuntos de salida
w = 1;
out_num = 0;
out_den = 0;
for j=1:ntrapB
   a = B(j,1);
   b = B(j,2);
   c = B(j,3);
   d = B(j,4);
   if(b==c)
       area = (d-a)*h*0.5; %area de un triangulo (b*h/2)
   else
       area = ( ( (d-a) + (c-b) ) *h ) / 2; %area de un trapecio A=((B+b)*h)/2                     <-----------
   end
   centroide = (d+a)/2; %en coords x (punto medio)
   out_num = out_num + activations(j)*area*centroide; %integral (promedio pesado por el area)        <--- Suponemos ntrapA=ntrapB pero esto puede cambiar
   out_den = out_den + activations(j)*area; %integral del area escalada por la activacion (equivale a la suma de las funciones de pertenencia)
end

out = out_num / out_den;
if(out<0) %caso donde debo activar calefaccion
		%mapeo la intensidad
        out=abs(out)*220;
		iFAM = -0.000037*out^2+0.017*out+0.069; %v=C*i^2
    vFAM = 0;
else 
	if(out>0)
    iFAM = 0;
    vFAM = out * 220 * 1;  %mapeo el voltaje de 0 a 220
	else
		iFAM = 0;
		vFAM = 0;
	end
end
